/////////////////////////////////////////////////////////////

// this script does nothing but takes the amount of time you want 

// to do that shift+f9 thing for ASProtect targets and does tht shift+f9 

// throught ESTO command in script. 

//

// remember the input is in HEX, so if u want to shift+f9 38 times, 

// enter 26 

// 

// currently ODBGScript 1.41 has some problem, some times mistakenly 

// it fails to catch the right input 'n rather takes a ZERO as input 

// tht's why i made a loop and if u want to exit without inputing anything 

// put a ` <-- the key right below escape key

/////////////////////////////////////////////////////////////

/*

********************

     nick_name

 TEAM RESSURRECTiON

********************

*/



/**/

/**/



DEFINE_BEFORE_EXECUTION:



mov iat_start,434000

mov iat_end,4342bc

mov binary_paste,491000

mov patch_with,"call dword ptr [{tmp_start}]"

//mov patch_with,"jmp dword ptr [{tmp_start}]"



/**/

/**/



SCRIPT_START:



		lc

		

LOOP:

		mov tmp_start,iat_start

		mov call_addr, [binary_paste]

		add binary_paste,4

		mov api_addr, [binary_paste]



START_FIND:

		mov abc,[tmp_start]

		cmp abc,api_addr

		je PATCH

		add tmp_start,4

		cmp tmp_start,iat_end

		je LOG

		jmp START_FIND



PATCH:

		eval patch_with

		asm call_addr,$RESULT

		mov tempo1,[binary_paste-4]

		mov tempo2,[binary_paste]

		gn [binary_paste]

		cmp $RESULT,0

		je LOG

		eval "{tempo1} :: {tempo2}={$RESULT}"

		log $RESULT, ""

		

	

HERE:

		add binary_paste,4

		cmp [binary_paste],0

		jne LOOP



EXIT_PATCH:		

		ret



LOG:

		mov tempo,[binary_paste-4]

		eval "\r\n{tempo} :: ...................................       <<---------NOT FOUND------\r\n"

		log $RESULT, ""

		

/*

		gpa "GetProcAddress","kernel32.dll"

		mov tempi,iat_end

		add tempi,4

		mov [tempi],$RESULT

		eval "jmp dword ptr [{tempi}]"

		asm [binary_paste-4],$RESULT

		

*/

			

		jmp HERE

	

